package com.example.springstudyvue.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.springstudyvue.entity.User;

/**
 * <p>
 * 用户信息表 服务类
 * </p>
 *
 * @author linKe
 * @since 2021-11-26
 */
public interface UserService extends IService<User> {
    /**
     * 新增用户
     * @param user 用户对象
     * @return  boolean值结果  true为成功，false为失败
     */
    Boolean addUser(User user);
    /**
     *  更新用户
     * @param user 用户对象
     * @return  boolean值结果  true为成功，false为失败
     */
    Boolean updateUser(User user);

    /**
     *  删除用户
     * @param userId 用户对象ID
     * @return  boolean值结果  true为成功，false为失败
     */

    boolean deleteUser(Long userId);

    /**
     * 登录
     * @param user 用户对象
     * @return  是否匹配
     */
    User login(User user);
    /**
     * 注册
     * @param user 用户对象
     * @return  是否插入成功
     */
    boolean register(User user);
    /**
     * 查询单个用户
     * @param userId 用户ID
     * @return  是否插入成功
     */
    User findUser(Long userId);



    /**
     * @author linKe
     * @description 一对多分页查询
     * @date 2:24 2021/11/30
     * @param pageNum   当前页
     * @param pageSize  每页显示条数
     * @param search    搜索关键字
     * @return com.baomidou.mybatisplus.extension.plugins.pagination.Page<com.example.springstudyvue.entity.User>
     */
    Page<User> findPage(Integer pageNum,
                        Integer pageSize,
                        String search);
}
